From 8726c6d5d239a342f0267d1c2bf0c90fb051d7fb Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 23 Feb 2015 06:42:17 -0500 Subject: [PATCH] zoom scrolling: avoid 'jumping back' We record the starting position on button press, but only start the zoom mode when the long press timeout kicks in. Depending on circumstances, this can cause a noticable jump. Avoid this by resetting the recorded starting position after the long press timeout. Suggested by Sebastian Keller. --- gtk/gtkrange.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gtk/gtkrange.c b/gtk/gtkrange.c index 404dc3a762..bd95ee9217 100644 --- a/gtk/gtkrange.c +++ b/gtk/gtkrange.c @@ -2437,7 +2437,12 @@ gtk_range_long_press_gesture_pressed (GtkGestureLongPress *gesture, gdouble y, GtkRange *range) { - update_zoom_state (range, TRUE); + if (!range->priv->zoom) + { + /* unset initial position so it can be calculated */ + range->priv->slide_initial_slider_position = -1; + update_zoom_state (range, TRUE); + } } static void -- 2.30.2